<?php
/**
 * Controller_Admin
 *
 * Класс Controller_Admin отвечает за обработку административных нтерфейсов
 *
 * @author Дмитрий Кузьма <kouzma.d@gmail.com>
 * @version 1.0
 */
class Controller_Admin extends Controller_Base {

	protected $arrCss = array(
	  'cms/main.css', 
	  'plugins/pop_up_box.css', 
	  'cms/forms.css', 
	  'cms/float.css', 
	  'cms/images.css', 
	  'cms/reset.css', 
	  'cms/table.css', 
	  '../font/cms/stylesheet.css', 
	  'cms/inputs.css'); //список подключаемых css-файлов,
	protected $arrJs = array(
		'config.js',
		'plugins/service_functions.js',
		'plugins/jquery.js',
		'plugins/JSON2.min.js',
		'plugins/jquery.timers.js',
		'plugins/pop_up_box.js',
		'plugins/css2.js',
		'plugins/jquery.eip.js',
		'plugins/jquery.auto_delete.js',
		'plugins/jquery.keyboard.js',
		'plugins/jquery.mousewheel.min.js',
	  'cms/common.form.js',
		'cms/jquery.inc.js',
		'plugins/ajaxfileupload.js',
		'plugins/jquery.scrollbar.js',
		'plugins/jquery.scrollto.js',
		'plugins/jquery.synctranslit.js',
		'plugins/jquery.templates.js',
		
	); // список подключаемых js-файлов
	
	public function __construct(&$arrRequest) {
	  Service_Debug::setDebug();
		parent::__construct($arrRequest);
		if (! SimpleAdministration::isAdmin()) $this->setError(403);
		$this->addJsReady("eip.init();");
	}


  /**
   * Выводит верхнюю часть
   *
   */
  public function showTop() {
  	?><div id="area"><?php 
  	$objSession = User_Session::instance();
	  if ($objSession->isLoggedIn()) {
	  	$objUser = User_User::getUser();
	  	$objViewUser = new View_User();
  		$objSection = new Section();
  		$arrSections = $objSection->find('all');
  		?>
  	  <nav class="section">
  	  	<ul>
  	      <?php
  	      if ($arrSections) {
  	      	foreach ($arrSections as $arrSection) {
	  	      	$sectionName = $objSection->getSectionName($arrSection['section_type']);
  	      		?>
	  	      	<li<?php if ($this->id && $this->id == $arrSection['ID_section']) echo ' class="active"';?>><a class="structureSection<?php if ($sectionName == 'page') echo ' pageSection';?>" essencetype="section" fieldname="section_name" essenceid="<?php echo $arrSection['ID_section'];?>" isvisible="<?php echo $arrSection['is_visible'];?>"  href="<?php echo W_ADMIN . $sectionName . '/' . $arrSection['section_alias'];?>/"><?php echo $arrSection['section_name'];?></a></li>
	  	      	<?php
  	      	}
  	      }
  	      ?>
  	      <li id="optionsMenu"><a class="dropdown dropdown-by-parent" onclick="section.updateSectionList(this);">Настройки</a>
          	<div class="dropdown-list section-list">
            	<ul id="sectionList" class="list-with-controls"></ul>
                
            </div>
          </li>
  	    </ul>
  	  </nav>
  	  <?php }?>
  	  <nav class="main">
        <ul>
	  	  	<?php
	  	  	if ($objSession->isLoggedIn()) {
	  	  	?>
	  	  	<li><strong><?php $objViewUser->showUserName($objUser->tableFields);?></strong></li>
          <li><a class="ico ico-refresh"></a></li>
          <li><a class="ico ico-lab"></a></li>
          <li><a class="dropdown">Настройки</a></li>
          <li><a href="#">Справка</a></li>	  	  	
	  	  	<li><a href="<?php echo W_ABSPATH;?>auth/exit/">Выход</a></li>
	  	  	<?php
	  	  		}
						else {
	  	  	?>
	  	  		<li><a href="<?php echo W_ABSPATH; ?>auth/sign_in/">Вход</a></li>
	  	  	<?php } ?>
	  	  </ul>
			</nav>
  	<?php
  }	
  
  /**
   * Выводит нижнюю часть
   *
   */
  public function showBasement() {
    echo '</div>'; // Закрываем id="area"
  }
  
	/**
	 * Метод выводит сообщение об ошибке
	 *
	 */
	public function showError() {
		switch ($this->error) {
			case 404:
				$this->pageHead = $this->title = 'Такая страница не существует.';
				break;
			case 403:
				$this->pageHead = $this->title = 'Недостаточно прав для просмотра страницы.';
				break;
			default:
				$this->pageHead = $this->title = 'Произошла неивезстная ошибка.';
				break;
		}

    $this->showHeader();
		$this->showFooter();
	}
}
?>